package com.ruoyi.washer.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 代理商对象 xw_agent
 *
 * @author hawking
 * @date 2023-12-15
 */
public class XwAgent extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 代理人ID */
    private Long agentId;

    /** 小程序openid */
    @Excel(name = "小程序openid")
    private String agentOpenId;

    /** 代理人名字 */
    @Excel(name = "代理人名字")
    private String agentName;

    /** 代理人地址 */
    @Excel(name = "代理人地址")
    private String agentAddress;

    /** 代理人电话 */
    @Excel(name = "代理人电话")
    private String agentPhone;

    /** 代理人身份证 */
    @Excel(name = "代理人身份证")
    private String agentIdentity;

    /** 代理人分成比例 */
    @Excel(name = "代理人分成比例")
    private BigDecimal agentPercent;

    private BigDecimal agentRentPercent;

    private BigDecimal terminalRentPercent;

    public BigDecimal getAgentRentPercent() {
        return agentRentPercent;
    }

    public void setAgentRentPercent(BigDecimal agentRentPercent) {
        this.agentRentPercent = agentRentPercent;
    }

    public BigDecimal getTerminalRentPercent() {
        return terminalRentPercent;
    }

    public void setTerminalRentPercent(BigDecimal terminalRentPercent) {
        this.terminalRentPercent = terminalRentPercent;
    }

    /** 终端分成比例 */
    @Excel(name = "终端分成比例")
    private BigDecimal terminalPercent;

    /** 绑定状态;0、未绑定 1、已经绑定 */
    @Excel(name = "绑定状态;0、未绑定 1、已经绑定")
    private String bindState;

    /** 冻结状态;0、否 1、是 */
    @Excel(name = "冻结状态;0、否 1、是")
    private String freezeState;

    /** 邀请码 */
    @Excel(name = "邀请码")
    private String activationCode;

    /** 租用每小时原价 */
    @Excel(name = "租用每小时原价")
    private BigDecimal hirePrimePrice;

    /** 租用每小时优惠价 */
    @Excel(name = "租用每小时优惠价")
    private BigDecimal hireSpecialPrice;

    /** 每日租金封顶金额 */
    @Excel(name = "每日租金封顶金额")
    private BigDecimal dailyTopAmount;

    private String agentMerchantCode;
    private String agentMerchantName;

    public String getAgentMerchantCode() {
        return agentMerchantCode;
    }

    public void setAgentMerchantCode(String agentMerchantCode) {
        this.agentMerchantCode = agentMerchantCode;
    }

    /** 创建时间 */
    private Date createdTime;

    /** 更新时间 */
    private Date updatedTime;

    private String cashoutType;

    public String getAgentMerchantName() {
        return agentMerchantName;
    }

    public void setAgentMerchantName(String agentMerchantName) {
        this.agentMerchantName = agentMerchantName;
    }

    public String getCashoutType() {
        return cashoutType;
    }

    public void setCashoutType(String cashoutType) {
        this.cashoutType = cashoutType;
    }

    public void setAgentId(Long agentId)
    {
        this.agentId = agentId;
    }

    public Long getAgentId()
    {
        return agentId;
    }
    public void setAgentOpenId(String agentOpenId)
    {
        this.agentOpenId = agentOpenId;
    }

    public String getAgentOpenId()
    {
        return agentOpenId;
    }
    public void setAgentName(String agentName)
    {
        this.agentName = agentName;
    }

    public String getAgentName()
    {
        return agentName;
    }
    public void setAgentAddress(String agentAddress)
    {
        this.agentAddress = agentAddress;
    }

    public String getAgentAddress()
    {
        return agentAddress;
    }
    public void setAgentPhone(String agentPhone)
    {
        this.agentPhone = agentPhone;
    }

    public String getAgentPhone()
    {
        return agentPhone;
    }
    public void setAgentIdentity(String agentIdentity)
    {
        this.agentIdentity = agentIdentity;
    }

    public String getAgentIdentity()
    {
        return agentIdentity;
    }
    public void setAgentPercent(BigDecimal agentPercent)
    {
        this.agentPercent = agentPercent;
    }

    public BigDecimal getAgentPercent()
    {
        return agentPercent;
    }
    public void setTerminalPercent(BigDecimal terminalPercent)
    {
        this.terminalPercent = terminalPercent;
    }

    public BigDecimal getTerminalPercent()
    {
        return terminalPercent;
    }
    public void setBindState(String bindState)
    {
        this.bindState = bindState;
    }

    public String getBindState()
    {
        return bindState;
    }
    public void setFreezeState(String freezeState)
    {
        this.freezeState = freezeState;
    }

    public String getFreezeState()
    {
        return freezeState;
    }
    public void setActivationCode(String activationCode)
    {
        this.activationCode = activationCode;
    }

    public String getActivationCode()
    {
        return activationCode;
    }
    public void setHirePrimePrice(BigDecimal hirePrimePrice)
    {
        this.hirePrimePrice = hirePrimePrice;
    }

    public BigDecimal getHirePrimePrice()
    {
        return hirePrimePrice;
    }
    public void setHireSpecialPrice(BigDecimal hireSpecialPrice)
    {
        this.hireSpecialPrice = hireSpecialPrice;
    }

    public BigDecimal getHireSpecialPrice()
    {
        return hireSpecialPrice;
    }
    public void setDailyTopAmount(BigDecimal dailyTopAmount)
    {
        this.dailyTopAmount = dailyTopAmount;
    }

    public BigDecimal getDailyTopAmount()
    {
        return dailyTopAmount;
    }
    public void setCreatedTime(Date createdTime)
    {
        this.createdTime = createdTime;
    }

    public Date getCreatedTime()
    {
        return createdTime;
    }
    public void setUpdatedTime(Date updatedTime)
    {
        this.updatedTime = updatedTime;
    }

    public Date getUpdatedTime()
    {
        return updatedTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("agentId", getAgentId())
            .append("agentOpenId", getAgentOpenId())
            .append("agentName", getAgentName())
            .append("agentAddress", getAgentAddress())
            .append("agentPhone", getAgentPhone())
            .append("agentIdentity", getAgentIdentity())
            .append("agentPercent", getAgentPercent())
            .append("terminalPercent", getTerminalPercent())
            .append("bindState", getBindState())
            .append("freezeState", getFreezeState())
            .append("activationCode", getActivationCode())
            .append("hirePrimePrice", getHirePrimePrice())
            .append("hireSpecialPrice", getHireSpecialPrice())
            .append("dailyTopAmount", getDailyTopAmount())
            .append("createBy", getCreateBy())
            .append("createdTime", getCreatedTime())
            .append("updateBy", getUpdateBy())
            .append("updatedTime", getUpdatedTime())
            .toString();
    }
}
